revealer: clamp minimum size to natural one
authorStefano Facchini <stefano.facchini@gmail.com>
Tue, 27 Aug 2013 22:13:55 +0000 (00:13 +0200)
committerStefano Facchini <stefano.facchini@gmail.com>
Wed, 28 Aug 2013 08:34:11 +0000 (10:34 +0200)
Instead of just setting them equal.

https://bugzilla.gnome.org/show_bug.cgi?id=706938

gtk/gtkrevealer.c

index e97572586cce5d89ccf7b283b17737efb9dcaa85..f90479e506764ed9b49d1a11c84716a6c10e4944 100644 (file)
@@ -726,7 +726,7 @@ gtk_revealer_real_get_preferred_height (GtkWidget *widget,
       transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN)
     natural_height = round (natural_height * priv->current_pos);
 
-  minimum_height = natural_height;
+  minimum_height = MIN (minimum_height, natural_height);
 
   if (minimum_height_out)
     *minimum_height_out = minimum_height;
@@ -753,7 +753,7 @@ gtk_revealer_real_get_preferred_height_for_width (GtkWidget *widget,
       transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN)
     natural_height = round (natural_height * priv->current_pos);
 
-  minimum_height = natural_height;
+  minimum_height = MIN (minimum_height, natural_height);
 
   if (minimum_height_out)
     *minimum_height_out = minimum_height;
@@ -779,7 +779,7 @@ gtk_revealer_real_get_preferred_width (GtkWidget *widget,
       transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT)
     natural_width = round (natural_width * priv->current_pos);
 
-  minimum_width = natural_width;
+  minimum_width = MIN (minimum_width, natural_width);
 
   if (minimum_width_out)
     *minimum_width_out = minimum_width;
@@ -806,7 +806,7 @@ gtk_revealer_real_get_preferred_width_for_height (GtkWidget *widget,
       transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT)
     natural_width = round (natural_width * priv->current_pos);
 
-  minimum_width = natural_width;
+  minimum_width = MIN (minimum_width, natural_width);
 
   if (minimum_width_out)
     *minimum_width_out = minimum_width;